package com.uwiseone.swp.utils.etp;

import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.io.Writer;
import java.nio.charset.Charset;
import java.util.List;

import com.uwiseone.swp.utils.etp.vo.KeyValuePair;

/**
 * 프로퍼티 파일을 쓰는 클래스
 * 
 * @author Vince Yi
 * 
 */
public class WriteProperties {

	/**
	 * 대상 프로퍼티 파일 경로
	 */
	private String targetPropertiesPath;

	/**
	 * 기본 생성자
	 * 
	 * @param targetPropertiesPath
	 *            대상 프로퍼티 파일 경로
	 */
	public WriteProperties(String targetPropertiesPath) {

		super();
		this.targetPropertiesPath = targetPropertiesPath;
	}

	/**
	 * 프로퍼티 파일을 작성한다.
	 * 
	 * @param keyValuePairs
	 *            key-value 쌍 리스트
	 */
	public void writeProperties(List<KeyValuePair> keyValuePairs) {

		try {
			Writer writer = new OutputStreamWriter(new FileOutputStream(targetPropertiesPath),
					Charset.forName("UTF-8"));

			for (KeyValuePair pair : keyValuePairs) {
				writer.write(pair.getKey() + " = " + Native2Ascii.native2Ascii(pair.getValue())
						+ "\n");
			}

			writer.close();
		} catch (IOException e) {
			e.printStackTrace();
		}
	}

}
